Привет, Хабр!
Начиная с версии ReactJS 16.8 в наш обиход вошли хуки. Этот функционал вызвал много споров, и на это есть свои причины. В данной статье мы рассмотрим одно из самых популярных заблуждений использования хуков и заодно разберемся стоит ли писать компоненты на классах (данная статья является расшифровкой видео).
Два пути
Как вы знаете в реакте есть 2 вариант написания компонента, с помощью классов и с помощью функций. И каждый вариант по своему взаимодействует с методами. Давайте рассмотрим оба варианта:
Метод в классе
Первый вариант, это использовать классы:
class Test extends Component { onClick = () => { console.log('onClick'); } render() { return ( <button onClick={this.onClick}> test </button> ) } }
В данном варианте мы добавили метод onClick
классу Test
и при создании инстанса класса, этот метод создается 1 раз и в рендере мы уже используем ссылку на этот метод onClick={this.onClick}
, таким образом при